<?php

class Aluno{

	private $id;
	private $nome;
	private $nomeResponsavel;
	private $email;
	private $senha;
	private $dataNascimento;
	private $dataCadastro;
	private $ultimoAcesso;
	private $telefone;
	private $celular;
	private $endereco;
	public function __construct($id = 0,$nome= "" ,$nomeResponsavel= "" ,$email= "" ,$senha= "" ,$dataNascimento = "0000-00-00 00:00:00",$dataCadastro = "0000-00-00 00:00:00",$ultimoAcesso = "0000-00-00 00:00:00",$telefone= "" ,$celular= "" ,$endereco= null){
		$this->id = $id;
		$this->nome = $nome;
		$this->nomeResponsavel = $nomeResponsavel;
		$this->email = $email;
		$this->senha = $senha;
		$this->dataNascimento = $dataNascimento;
		$this->dataCadastro = $dataCadastro;
		$this->ultimoAcesso = $ultimoAcesso;
		$this->telefone = $telefone;
		$this->celular = $celular;
		$this->endereco = $endereco;

	}

	public static function construct($array){
		return new Aluno( $array['id'], $array['nome'], $array['nomeResponsavel'], $array['email'], $array['senha'], $array['dataNascimento'], $array['dataCadastro'], $array['ultimoAcesso'], $array['telefone'], $array['celular'], $array['endereco']);

	}

	public function getId(){
		return $this->id;
	}

	public function setId($id){
		$this->id=$id;
	}

	public function getNome(){
		return $this->nome;
	}

	public function setNome($nome){
		$this->nome=$nome;
	}

	public function getNomeResponsavel(){
		return $this->nomeResponsavel;
	}

	public function setNomeResponsavel($nomeResponsavel){
		$this->nomeResponsavel=$nomeResponsavel;
	}

	public function getEmail(){
		return $this->email;
	}

	public function setEmail($email){
		$this->email=$email;
	}

	public function getSenha(){
		return $this->senha;
	}

	public function setSenha($senha){
		$this->senha=$senha;
	}

	public function getDataNascimento(){
		return $this->dataNascimento;
	}

	public function setDataNascimento($dataNascimento){
		$this->dataNascimento=$dataNascimento;
	}

	public function getDataCadastro(){
		return $this->dataCadastro;
	}

	public function setDataCadastro($dataCadastro){
		$this->dataCadastro=$dataCadastro;
	}

	public function getUltimoAcesso(){
		return $this->ultimoAcesso;
	}

	public function setUltimoAcesso($ultimoAcesso){
		$this->ultimoAcesso=$ultimoAcesso;
	}

	public function getTelefone(){
		return $this->telefone;
	}

	public function setTelefone($telefone){
		$this->telefone=$telefone;
	}

	public function getCelular(){
		return $this->celular;
	}

	public function setCelular($celular){
		$this->celular=$celular;
	}

	public function getEndereco(){
		return $this->endereco;
	}

	public function setEndereco($endereco){
		$this->endereco=$endereco;
	}
	public function equals($object){
		if($object instanceof Aluno){

			if($this->id!=$object->id){
				return false;

			}

			if($this->nome!=$object->nome){
				return false;

			}

			if($this->nomeResponsavel!=$object->nomeResponsavel){
				return false;

			}

			if($this->email!=$object->email){
				return false;

			}

			if($this->senha!=$object->senha){
				return false;

			}

			if($this->dataNascimento!=$object->dataNascimento){
				return false;

			}

			if($this->dataCadastro!=$object->dataCadastro){
				return false;

			}

			if($this->ultimoAcesso!=$object->ultimoAcesso){
				return false;

			}

			if($this->telefone!=$object->telefone){
				return false;

			}

			if($this->celular!=$object->celular){
				return false;

			}

			if($this->endereco!=$object->endereco){
				return false;

			}

			return true;

		}
		else{
			return false;
		}

	}
	public function toString(){

		return "  [id:" .$this->id. "]  [nome:" .$this->nome. "]  [nomeResponsavel:" .$this->nomeResponsavel. "]  [email:" .$this->email. "]  [senha:" .$this->senha. "]  [dataNascimento:" .$this->dataNascimento. "]  [dataCadastro:" .$this->dataCadastro. "]  [ultimoAcesso:" .$this->ultimoAcesso. "]  [telefone:" .$this->telefone. "]  [celular:" .$this->celular. "]  [endereco:" .$this->endereco. "]  " ;
	}
	public function toArray(){

		$temp =   (array) $this;

		$array = array();

		foreach ($temp as $k => $v){

			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;

			$array[$k] = $v;


		}
		return  $array;
	}

}

?>